package com.hmdp.controller;


import com.hmdp.dto.Result;
import com.hmdp.entity.ShopType;
import com.hmdp.service.IShopTypeService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import javax.annotation.Resource;
import java.util.List;

/**
 * <p>
 * 前端控制器
 * </p>
 *
 * @author 虎哥
 * @since 2021-12-22
 */
@Slf4j
@RestController
@RequestMapping("/shop-type")
public class ShopTypeController {
    @Resource
    private IShopTypeService typeService;

    /**
     * 公共基础课：   现已修 52.5 分
     *      -- (必修模块) 总共需要 47.5 的学分    已经修读：46.5 分  (差一分但是大三上有马克思主义原理 3 分)
     *      -- (选秀模块) 总共需要 6 分 的学分    已经修读：6 分 就是三个外语选课
     *  通识教育课程：需要修 10 学分 已经搞定
     *  专业教育课程：
     *      -- 专业类平台课：
     *          需要：36.5 已修 35.5 (差一分但是大三上有 工程伦理与网络安全法 1 分)
     *      -- 专业核心课程：
     *          需要：34 分 已修 5.5 (大三上有 软件系统分析与设计 2.5 分 软件项目管理 2 分 数据挖掘原理与实践 2 分 所以大三上后就有 12 分
     *          加上毕业实习和毕设就有 30 分 大三下还有 企业级应用开发 2.5 信息管理概论 1.5 于是就齐了)
     *      -- 个性选修课：
     *          -- 需要：16 分 已修 6.5 分 (大三小学期前半学期有 数据库系统开发与安全防护 2 分
     *          大三上选修 软件界面艺术设计与实践 2 分 Unreal Engine程序设计 2 分 于是就有 12.5 分了 最后软件工程实训有 4 分 于是满了)
     * 创新创业类课程：
     *      -- 需要：6 分 已修 3 分 目前没弄懂这一块
     *      -- 大三小学期有科学研究与创新实践 1 分 大三上有个选课 计算机高级应用 2 分 于是就满了
     * 总结：
     *      -- 27 号抢课把两个个性选修都枪了 软件界面艺术设计与实践 2 分 Unreal Engine程序设计 2 分 计算机高级应用 2 分
     *          -- 软件界面艺术设计与实践 这个只能考虑 2 班的和 3 班的选课  3 班是早八 优先选 2 班
     *          -- Unreal Engine程序设计 这个可以考虑 2 班和 3 班的选课  2 班是早八 优先选 3 班 1 班也能选 但是会跟 软件界面arte设计与实践冲突 看具体情况
     *          -- 计算机高级应用 这个无脑选 而且优先选
     */
    @GetMapping("list")
    public Result queryTypeList() {
        log.info("查询店铺类型");
        List<ShopType> shopTypeList = typeService.queryTypeList();
        return Result.ok(shopTypeList);
    }
}
